1. Technical Field
This invention relates to the field of computer speech recognition and more particularly to an efficient method and system for informing a system user of available voice commands.
2. Description of the Related Art
Speech recognition is the process by which an acoustic signal received by microphone is converted to a set of text words by a computer. These recognized words may then be used in a variety of computer software applications for purposes such as document preparation, data entry and command and control. Speech recognition is generally a difficult problem due to the wide variety of pronunciations, accents and other speech characteristics of individual speakers.
One of the difficult aspects of speech recognition systems relates to a user's ability to control and navigate through speech-enabled applications using various commands. In the simplest possible command and control grammar, each function that the system can perform has no more than one speech phrase associated with it. At the other extreme is a command and control system based on natural language understanding (NLU). In an NLU system, the user can express commands using natural language, thereby providing total linguistic flexibility in command expression. Current command and control systems are beyond the simple one function--one speech phrase grammar, but are not yet at NLU.
Much like the Disk Operating System (DOS), speech recognition systems that approach but do not achieve the flexibility of NLU recognize only a finite set of voice commands. These systems have little utility for users who do not know the commands available for performing desired functions. Thus, initially, users must be made aware of possible commands simply to perform any voice activated functions at all. On the other hand, more advanced users may wish to know whether a particular speech command will be recognized. Or, a user who knows one way of issuing a speech command might want to know other speech commands that achieve the same system function or operation. Thereby, the user may ascertain a more efficient speech command or one having a better recognition accuracy for that user than the speech command that he or she has been using.
Conventional speech recognition systems offer various means to present the user with a list of all valid speech commands, typically filtered in some way to facilitate a search for a particular command. This approach works reasonably well given fairly simple command and control grammars. However, as command and control grammars begin to approach NLU, the number of available ways to state commands increases to the point of making such approaches cumbersome. The problem is exacerbated when the speech recognition system is deployed in embedded systems, which have minimal display and memory capacities.
Some systems display a list of all possible commands based on the current state of the system. In these systems, the content and quantity of commands displayed at a first state is typically different from that displayed at a second state. If there are fewer possible commands at the second state, the number of possible commands displayed will be decreased, however, if there are more possible commands the displayed list will be lengthened. It is also possible that the same commands may be displayed at different states if the possible commands have not changed from the prior state(s). Thus, these systems do not necessarily reduce the quantity of commands displayed to the user.
Accordingly, there is a need to provide a more effective system and methods for informing a system user of voice commands.